package org.slf4j.helpers;

import cc.ifok.kit.Strings;
import org.slf4j.Logger;
import org.slf4j.Marker;
import org.slf4j.event.Level;

@SuppressWarnings("unused")
public class NOPLogger extends NamedLoggerBase implements Logger {
    private static final long serialVersionUID = 148334660661906992L;
    public static final NOPLogger NOP_LOGGER = new NOPLogger();

    protected NOPLogger() {}

    @Override
    public String getName() {return "VPC-agent";}

    @Override
    final public boolean isInfoEnabled() {
        return true;
    }
    @Override
    final public void info(String msg) {
        if (!Strings.trim(msg).startsWith("Creating new SecureRandom")) {
            out(msg, Level.INFO.toString());
        }
    }
    @Override
    final public void info(String format, Object arg1) {
    }
    @Override
    final public void info(String msg, Throwable t) {
    }
    @Override
    final public void info(String format, Object... argArray) {
    }
    @Override
    final public void info(String format, Object arg1, Object arg2) {
    }

    @Override
    final public boolean isErrorEnabled() {
        return true;
    }

    @Override
    final public void error(String msg) {
        out(msg, Level.ERROR.toString());
    }
    @Override
    final public void error(String format, Object arg1) {
    }
    @Override
    final public void error(String msg, Throwable t) {
    }
    @Override
    final public void error(String format, Object... argArray) {
    }
    @Override
    final public void error(String format, Object arg1, Object arg2) {
    }

    @Override
    final public boolean isTraceEnabled() {return false;}
    @Override
    final public boolean isTraceEnabled(Marker marker) {return false;}
    @Override
    final public void trace(String msg) {}
    @Override
    final public void trace(String format, Object arg) {}
    @Override
    public final void trace(String format, Object arg1, Object arg2) {}
    @Override
    public final void trace(String format, Object... argArray) {}
    @Override
    final public void trace(String msg, Throwable t) {}
    @Override
    final public void trace(Marker marker, String msg) {}
    @Override
    final public void trace(Marker marker, String format, Object arg) {}
    @Override
    final public void trace(Marker marker, String format, Object arg1, Object arg2) {}
    @Override
    final public void trace(Marker marker, String format, Object... argArray) {}
    @Override
    final public void trace(Marker marker, String msg, Throwable t) {}

    @Override
    final public boolean isDebugEnabled() {return false;}
    @Override
    final public boolean isDebugEnabled(Marker marker) {return false;}
    @Override
    final public void debug(String msg) {}
    @Override
    final public void debug(String format, Object arg) {}
    @Override
    final public void debug(String format, Object arg1, Object arg2) {}
    @Override
    final public void debug(String format, Object... argArray) {}
    @Override
    final public void debug(String msg, Throwable t) {}
    @Override
    final public void debug(Marker marker, String msg) {}
    @Override
    final public void debug(Marker marker, String format, Object arg) {}
    @Override
    final public void debug(Marker marker, String format, Object arg1, Object arg2) {}
    @Override
    final public void debug(Marker marker, String format, Object... arguments) {}
    @Override
    final public void debug(Marker marker, String msg, Throwable t) {}

    @Override
    public boolean isInfoEnabled(Marker marker) {return false;}
    @Override
    final public void info(Marker marker, String msg) {}
    @Override
    final public void info(Marker marker, String format, Object arg) {}
    @Override
    final public void info(Marker marker, String format, Object arg1, Object arg2) {}
    @Override
    final public void info(Marker marker, String format, Object... arguments) {}
    @Override
    final public void info(Marker marker, String msg, Throwable t) {}

    @Override
    final public boolean isWarnEnabled() {
        return false;
    }
    @Override
    final public boolean isWarnEnabled(Marker marker) {return false;}
    @Override
    final public void warn(String msg) {}
    @Override
    final public void warn(String format, Object arg1) {}
    @Override
    final public void warn(String format, Object arg1, Object arg2) {}
    @Override
    final public void warn(String format, Object... argArray) {}
    @Override
    final public void warn(String msg, Throwable t) {}
    @Override
    final public void warn(Marker marker, String msg) {}
    @Override
    final public void warn(Marker marker, String format, Object arg) {}
    @Override
    final public void warn(Marker marker, String format, Object arg1, Object arg2) {}
    @Override
    final public void warn(Marker marker, String format, Object... arguments) {}
    @Override
    final public void warn(Marker marker, String msg, Throwable t) {}

    @Override
    final public boolean isErrorEnabled(Marker marker) {return false;}
    @Override
    final public void error(Marker marker, String msg) {}
    @Override
    final public void error(Marker marker, String format, Object arg) {}
    @Override
    final public void error(Marker marker, String format, Object arg1, Object arg2) {}
    @Override
    final public void error(Marker marker, String format, Object... arguments) {}
    @Override
    final public void error(Marker marker, String msg, Throwable t) {}
}
